package org.sam.swing.table.verification;

/**
 * 输入必须大于最小值校验
 * 
 * @author sam
 *
 */
public class MinVerificatior extends AbstractVerificatior {

	/**
	 * 最小值 阈值
	 */
	private Long minValue = Long.valueOf(0);

	/**
	 * 最小值 阈值
	 * 
	 * @return
	 */
	public long getMinValue() {
		return minValue.longValue();
	}

	/**
	 * 最小值 阈值
	 * 
	 * @param minValue
	 */
	public void setMinValue(long minValue) {
		this.minValue = Long.valueOf(minValue);
	}

	/**
	 * 输入必须大于最小值校验
	 * 
	 * @param min
	 *            最小值
	 */
	public MinVerificatior(long min) {
		super("输入必须为大于" + min);
		this.setMinValue(min);
	}

	/**
	 * 输入必须大于最小值校验
	 * 
	 * @param min
	 * @param message
	 */
	public MinVerificatior(long min, String message) {
		super(message);
		this.setMinValue(min);
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public boolean verificat(Object value) {
		if (value == null)
			return false;

		if (value instanceof Number) {
			return ((Number) value).doubleValue() >= this.minValue.doubleValue();
		}

		return false;
	}

}
